/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.ufps.cuatro.modelo.asistente.clase.compleja.salida;


import com.ufps.cuatro.controlador.render.UtilRender;

import com.ufps.cuatro.modelo.asistente.clase.compleja.JPanelWizardClaseComplejaCustomPropertiesFinishDescriptor;
import com.ufps.cuatro.modelo.representacion.ObjetoTipoDatoReflexion;
import com.ufps.cuatro.vistas.asistente.clase.compleja.salida.JPanelWizardClaseComplejaSalidaCustomPropertiesFinish;
import com.ufps.cuatro.vistas.asistente.clase.compleja.salida.JPanelWizardClaseComplejaSeleccionPropiedadesSalida;

/**
 *
 * @author Carlos A. Torres C. 
 */
public class JPanelWizardClaseComplejaSalidaCustomPropertiesFinishDescriptor extends JPanelWizardClaseComplejaCustomPropertiesFinishDescriptor{    

    public static final String IDENTIFIER = "FIN_SALIDA";    
    private JPanelWizardClaseComplejaSalidaCustomPropertiesFinish objPanel;    

    
    public JPanelWizardClaseComplejaSalidaCustomPropertiesFinishDescriptor(ObjetoTipoDatoReflexion objTipoDato) {
        super(objTipoDato);    
//        if(objTipoDato != null){
            objPanel = new JPanelWizardClaseComplejaSalidaCustomPropertiesFinish(objTipoDato);
            setPanelDescriptorIdentifier(IDENTIFIER);    
            objPanel.addCheckBoxActionListener(JPanelWizardClaseComplejaSalidaCustomPropertiesFinishDescriptor.this);        
            setPanelComponent(objPanel);        
//        }else{
//            UtilRender.printlnConsole("Objeto tipo dato Nulo.", UtilRender.ACTION_NORMAL, false);
//        }
    }
    
    @Override
    public void displayingPanel() {             
//      try{
            JPanelWizardClaseComplejaSeleccionPropiedadesSalidaDescriptor objPanelDescriptor = 
                    (JPanelWizardClaseComplejaSeleccionPropiedadesSalidaDescriptor) this.getWizardModel().getPanelDescriptor(JPanelWizardClaseComplejaSeleccionPropiedadesSalidaDescriptor.IDENTIFIER);
            JPanelWizardClaseComplejaSeleccionPropiedadesSalida objTempPanel = 
                    (JPanelWizardClaseComplejaSeleccionPropiedadesSalida) objPanelDescriptor.getPanelComponent();
            objPropiedadesAgregadas = objTempPanel.getObjPropiedadesAgregadas();
            objPanel.setObjPropiedadesAgregadas(objPropiedadesAgregadas);        
//        }catch(java.lang.NullPointerException ex){}
    }
    
    @Override
    public Object getNextPanelDescriptor() {         
        return JPanelWizardClaseComplejaSalidaCustomPropertiesFinishDescriptor.FINISH;
    }
    
    @Override
    public Object getBackPanelDescriptor() {        
        return JPanelWizardClaseComplejaSeleccionPropiedadesSalidaDescriptor.IDENTIFIER;        
    }
    
    @Override
    public void aboutToDisplayPanel() {
//       try{
            setNextButtonAccordingToCheckBox();
//        }catch(java.lang.NullPointerException ex){}
    }       
    
    protected void setNextButtonAccordingToCheckBox() {
//       if(objPanel != null){
            if (objPanel.isCheckBoxSelected()){
                 if(objPanel.isListEmpty() && objPanel.getObjPropiedadesAgregadas().isEmpty()){
                     UtilRender.msgAdvertencia("No puede generar un Componente Vacio.", objPanel);
                     return;
                 }
                 getWizard().setNextFinishButtonEnabled(true);
                 objPropiedadesAgregadas = objPanel.getObjPropiedadesAgregadas();
                 procesarConfiguracion();
             }
             else{
                 getWizard().setNextFinishButtonEnabled(false);             
             }           
//        }else{
//            UtilRender.printlnConsole("Objeto Panel Nulo.", UtilRender.ACTION_NORMAL, false);
//             }
    }
}
    